#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDockWidget>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //给主窗口添加一个子窗口
    QDockWidget* dockWidget=new QDockWidget();
    //使用addDockWidget方法，把浮动窗口加入到子窗口
    this->addDockWidget(Qt::LeftDockWidgetArea,dockWidget);

    //设置浮动窗口标题
    dockWidget->setWindowTitle("这是浮动窗口");

    //给浮动窗口内部，添加一些其他的控件
    //我们要多设置一个QDockWidget
    QWidget* container=new QWidget();
    dockWidget->setWidget(container);

    //创建布局管理器，把布置管理器设置到QWidget中
    QVBoxLayout* layout=new QVBoxLayout;
    container->setLayout(layout);

    //创建其他控件到layout中
    QLabel* label=new QLabel("这是一个QLabel");
    QPushButton* button=new QPushButton("这是按钮");
    layout->addWidget(label);
    layout->addWidget(button);
}

MainWindow::~MainWindow()
{
    delete ui;
}

